#pragma once
#include <QString>
#include <QList>
#include "Utility.h"

class IBridge
{

public:

	IBridge();
	
	//start adb server
	virtual void startServer()=0;

	//kill adb server
	virtual void killServer()=0;

	//return list of unparsed strings with adb-name and model of device
	virtual QString getDevices()=0;

	//method sets name of the selected device at the moment
	virtual void setSelectedDevice(QString)=0;

	//return path to just made screenshot
	virtual void getScreenshot(QString)=0;

	//return file system
	virtual QString getFileSystem(QString)=0;

	//method to create new Folder
	virtual bool newFolder(QString, QString)=0;

	//method to remove selected item(folder,file)
	virtual bool Delete(QString, QString)=0;

	//method which provide installing .apk file from selected directory(PC or device)
	virtual bool Install(QString)=0;

	//copy file to device
	virtual bool pushToDevice(QString, QString)=0;

	//copy file from device
	virtual bool pullFromDevice(QString, QString)=0;

	//move or copy files and dirs
	virtual bool moveFiles(QStringList,QString,bool)=0;

	virtual bool makeBackup(QString)=0;

	virtual bool restoreBackup(QString)=0;
	
	virtual QString getDevicesProps(QString device)=0;

	virtual bool Rename(QString)=0;
};

